Have all ingredients at room temperature, 68┬░ to 70┬░F. Position a rack in the lower third of the oven. Preheat the oven to 350┬░F. Grease a 13 x 9-inch pan. Prepare and set aside:
Streusel I, or Streusel II
Whisk together thoroughly:
2 cups all-purpose flour
1 teaspoon baking powder
1 teaspoon baking soda
1/2 teaspoon salt
Combine in another bowl and set aside:
1 1/4 cups sour cream or yogurt
1 tablespoon grated orange zest, if using cranberries (optional)
1 teaspoon vanilla
In a large bowl, beat on high speed until lightened in color and texture, 3 to 4 minutes:
4 tablespoons unsalted butter
1 1/4 cup sugar
Beat in 1 at a time:
2 large eggs
Add the flour mixture in 3 parts, alternating with the sour cream mixture in 2 parts, beating on low speed or stirring until smooth and scraping the sides of the bowl as necessary. Scrape the batter into the pan and spread evenly. Sprinkle with:
2 1/2 cups cranberries or diced peeled apples
Then sprinkle with the streusel. Bake until a toothpick inserted in the center comes out clean, 40 to 45 minutes. Let cool briefly in the pan on a rack. Serve warm.